home *** CD-ROM | disk | FTP | other *** search
/ Celestin Apprentice 2 / Apprentice-Release2.iso / Source Code / Ken Long / NewShuttle-p-c / Think / Pascal / Shuttle.p < prev    next >
Encoding:
Text File  |  1994-12-04  |  15.3 KB  |  810 lines  |  [TEXT/PJMM]

  1. {Wire frame shuttle viewer}
  2. {by Eddy Vasile 70451,3333 compuserve}
  3. {Plot points collected from a fortran bbs in 86}
  4. {To compile this program: }
  5. {1st: if this file (shuttle.p) is not in a sit file along with a resource file, then:}
  6. {create a WIND resource shuttle.pi.rsrc (use option p for pi)}
  7. {Make sure that the size of the window is the largest possible by }
  8. {stretching it as far as resedit will allow it. Change the resource id to 400}
  9. {and give it an adequate name like shuttle viewer. Make sure you click on purgeable}
  10. {2nd: create a project shuttle.pi and then add shuttle.p (this program) at the bottom}
  11. {click on run options and select 'uses resource file.' Select the resource}
  12. {file created  above or included in the sit file.}
  13.  
  14.  
  15. program ShuttleViewer;
  16.     const
  17.         maxa = 300;
  18.         maxv = 124;
  19.         maxe = 259;
  20.         r1 = 400;
  21.         maxd = 631;
  22.  
  23.     var
  24.         oxangle, oyangle, ozangle, pc, ec: integer;
  25.         CH, SH, CP, SP, CB, SB, xv, yv, zv, X, Y, Z, X3, Y3, Z3, AM, BM, CM, DM, EM, FM, GM, HM, IM, D, P, B, H, U, vc, U1, V1: real;
  26.         V: array[1..maxa, 1..3] of real;
  27.         E: array[1..maxa] of real;
  28.         data: array[1..maxd] of real;
  29.         w: windowptr;
  30.         ticks: longint;
  31.  
  32.     procedure setdataarray;
  33.     begin
  34.         data[1] := 0;
  35.         data[2] := -2;
  36.         data[3] := 46;
  37.         data[4] := 2;
  38.         data[5] := -3;
  39.         data[6] := 46;
  40.         data[7] := 2;
  41.         data[8] := -5;
  42.         data[9] := 46;
  43.         data[10] := 2;
  44.         data[11] := -7;
  45.         data[12] := 46;
  46.         data[13] := 0;
  47.         data[14] := -7;
  48.         data[15] := 46;
  49.         data[16] := -2;
  50.         data[17] := -7;
  51.         data[18] := 46;
  52.         data[19] := -2;
  53.         data[20] := -5;
  54.         data[21] := 46;
  55.         data[22] := -2;
  56.         data[23] := -3;
  57.         data[24] := 46;
  58.         data[25] := 0;
  59.         data[26] := -1;
  60.         data[27] := 43;
  61.         data[28] := 3;
  62.         data[29] := -2;
  63.         data[30] := 43;
  64.         data[31] := 4;
  65.         data[32] := -5;
  66.         data[33] := 43;
  67.         data[34] := 3;
  68.         data[35] := -7;
  69.         data[36] := 43;
  70.         data[37] := 0;
  71.         data[38] := -8;
  72.         data[39] := 43;
  73.         data[40] := -3;
  74.         data[41] := -7;
  75.         data[42] := 43;
  76.         data[43] := -4;
  77.         data[44] := -5;
  78.         data[45] := 43;
  79.         data[46] := -3;
  80.         data[47] := -2;
  81.         data[48] := 43;
  82.         data[49] := 0;
  83.         data[50] := 2;
  84.         data[51] := 38;
  85.         data[52] := 5;
  86.         data[53] := 0;
  87.         data[54] := 38;
  88.         data[55] := 6;
  89.         data[56] := -4;
  90.         data[57] := 38;
  91.         data[58] := 4;
  92.         data[59] := -8;
  93.         data[60] := 38;
  94.         data[61] := 0;
  95.         data[62] := -9;
  96.         data[63] := 38;
  97.         data[64] := -4;
  98.         data[65] := -8;
  99.         data[66] := 38;
  100.         data[67] := -6;
  101.         data[68] := -4;
  102.         data[69] := 38;
  103.         data[70] := -5;
  104.         data[71] := 0;
  105.         data[72] := 38;
  106.         data[73] := 0;
  107.         data[74] := 4;
  108.         data[75] := 33;
  109.         data[76] := 5;
  110.         data[77] := 1;
  111.         data[78] := 33;
  112.         data[79] := 6;
  113.         data[80] := -5;
  114.         data[81] := 33;
  115.         data[82] := 4;
  116.         data[83] := -9;
  117.         data[84] := 33;
  118.         data[85] := 0;
  119.         data[86] := -10;
  120.         data[87] := 33;
  121.         data[88] := -4;
  122.         data[89] := -9;
  123.         data[90] := 33;
  124.         data[91] := -6;
  125.         data[92] := -5;
  126.         data[93] := 33;
  127.         data[94] := -5;
  128.         data[95] := 1;
  129.         data[96] := 33;
  130.         data[97] := 0;
  131.         data[98] := 8;
  132.         data[99] := 26;
  133.         data[100] := 4;
  134.         data[101] := 7;
  135.         data[102] := 26;
  136.         data[103] := 8;
  137.         data[104] := 2;
  138.         data[105] := 26;
  139.         data[106] := 8;
  140.         data[107] := -7;
  141.         data[108] := 26;
  142.         data[109] := 0;
  143.         data[110] := -10;
  144.         data[111] := 26;
  145.         data[112] := -8;
  146.         data[113] := -7;
  147.         data[114] := 26;
  148.         data[115] := -8;
  149.         data[116] := 2;
  150.         data[117] := 26;
  151.         data[118] := -4;
  152.         data[119] := 7;
  153.         data[120] := 26;
  154.         data[121] := 0;
  155.         data[122] := 8;
  156.         data[123] := 22;
  157.         data[124] := 4;
  158.         data[125] := 8;
  159.         data[126] := 22;
  160.         data[127] := 8;
  161.         data[128] := 3;
  162.         data[129] := 22;
  163.         data[130] := 8;
  164.         data[131] := -8;
  165.         data[132] := 22;
  166.         data[133] := 0;
  167.         data[134] := -10;
  168.         data[135] := 22;
  169.         data[136] := -8;
  170.         data[137] := -8;
  171.         data[138] := 22;
  172.         data[139] := -8;
  173.         data[140] := 3;
  174.         data[141] := 22;
  175.         data[142] := -4;
  176.         data[143] := 8;
  177.         data[144] := 22;
  178.         data[145] := 0;
  179.         data[146] := 8;
  180.         data[147] := 14;
  181.         data[148] := 5;
  182.         data[149] := 7;
  183.         data[150] := 14;
  184.         data[151] := 8;
  185.         data[152] := 4;
  186.         data[153] := 14;
  187.         data[154] := 8;
  188.         data[155] := -9;
  189.         data[156] := 14;
  190.         data[157] := 0;
  191.         data[158] := -10;
  192.         data[159] := 14;
  193.         data[160] := -8;
  194.         data[161] := -9;
  195.         data[162] := 14;
  196.         data[163] := -8;
  197.         data[164] := 4;
  198.         data[165] := 14;
  199.         data[166] := -5;
  200.         data[167] := 7;
  201.         data[168] := 14;
  202.         data[169] := 0;
  203.         data[170] := 8;
  204.         data[171] := 4;
  205.         data[172] := 5;
  206.         data[173] := 7;
  207.         data[174] := 4;
  208.         data[175] := 8;
  209.         data[176] := 4;
  210.         data[177] := 4;
  211.         data[178] := 8;
  212.         data[179] := -9;
  213.         data[180] := 4;
  214.         data[181] := 0;
  215.         data[182] := -10;
  216.         data[183] := 4;
  217.         data[184] := -8;
  218.         data[185] := -9;
  219.         data[186] := 4;
  220.         data[187] := -8;
  221.         data[188] := 4;
  222.         data[189] := 4;
  223.         data[190] := -5;
  224.         data[191] := 7;
  225.         data[192] := 4;
  226.         data[193] := 0;
  227.         data[194] := 8;
  228.         data[195] := -12;
  229.         data[196] := 5;
  230.         data[197] := 7;
  231.         data[198] := -12;
  232.         data[199] := 8;
  233.         data[200] := 4;
  234.         data[201] := -12;
  235.         data[202] := 8;
  236.         data[203] := -9;
  237.         data[204] := -12;
  238.         data[205] := 0;
  239.         data[206] := -10;
  240.         data[207] := -12;
  241.         data[208] := -8;
  242.         data[209] := -9;
  243.         data[210] := -12;
  244.         data[211] := -8;
  245.         data[212] := 4;
  246.         data[213] := -12;
  247.         data[214] := -5;
  248.         data[215] := 7;
  249.         data[216] := -12;
  250.         data[217] := 0;
  251.         data[218] := 8;
  252.         data[219] := -27;
  253.         data[220] := 5;
  254.         data[221] := 7;
  255.         data[222] := -27;
  256.         data[223] := 8;
  257.         data[224] := 4;
  258.         data[225] := -27;
  259.         data[226] := 8;
  260.         data[227] := -9;
  261.         data[228] := -27;
  262.         data[229] := 0;
  263.         data[230] := -10;
  264.         data[231] := -27;
  265.         data[232] := -8;
  266.         data[233] := -9;
  267.         data[234] := -27;
  268.         data[235] := -8;
  269.         data[236] := 4;
  270.         data[237] := -27;
  271.         data[238] := -5;
  272.         data[239] := 7;
  273.         data[240] := -27;
  274.         data[241] := 0;
  275.         data[242] := 8;
  276.         data[243] := -36;
  277.         data[244] := 5;
  278.         data[245] := 7;
  279.         data[246] := -36;
  280.         data[247] := 8;
  281.         data[248] := 4;
  282.         data[249] := -36;
  283.         data[250] := 8;
  284.         data[251] := -9;
  285.         data[252] := -36;
  286.         data[253] := 0;
  287.         data[254] := -10;
  288.         data[255] := -36;
  289.         data[256] := -8;
  290.         data[257] := -9;
  291.         data[258] := -36;
  292.         data[259] := -8;
  293.         data[260] := 4;
  294.         data[261] := -36;
  295.         data[262] := -5;
  296.         data[263] := 7;
  297.         data[264] := -36;
  298.         data[265] := 0;
  299.         data[266] := 9;
  300.         data[267] := -43;
  301.         data[268] := 2;
  302.         data[269] := 9;
  303.         data[270] := -43;
  304.         data[271] := 9;
  305.         data[272] := 2;
  306.         data[273] := -43;
  307.         data[274] := 9;
  308.         data[275] := -10;
  309.         data[276] := -43;
  310.         data[277] := 0;
  311.         data[278] := -11;
  312.         data[279] := -43;
  313.         data[280] := -9;
  314.         data[281] := -10;
  315.         data[282] := -43;
  316.         data[283] := -9;
  317.         data[284] := 2;
  318.         data[285] := -43;
  319.         data[286] := -2;
  320.         data[287] := 9;
  321.         data[288] := -43;
  322.         data[289] := 0;
  323.         data[290] := 10;
  324.         data[291] := -48;
  325.         data[292] := 2;
  326.         data[293] := 9;
  327.         data[294] := -48;
  328.         data[295] := 9;
  329.         data[296] := 2;
  330.         data[297] := -48;
  331.         data[298] := 10;
  332.         data[299] := -10;
  333.         data[300] := -48;
  334.         data[301] := 0;
  335.         data[302] := -10;
  336.         data[303] := -48;
  337.         data[304] := -10;
  338.         data[305] := -10;
  339.         data[306] := -48;
  340.         data[307] := -9;
  341.         data[308] := 2;
  342.         data[309] := -48;
  343.         data[310] := -2;
  344.         data[311] := 9;
  345.         data[312] := -48;
  346.         data[313] := 9;
  347.         data[314] := -9;
  348.         data[315] := 21;
  349.         data[316] := 15;
  350.         data[317] := -9;
  351.         data[318] := -16;
  352.         data[319] := 35;
  353.         data[320] := -10;
  354.         data[321] := -36;
  355.         data[322] := 35;
  356.         data[323] := -10;
  357.         data[324] := -40;
  358.         data[325] := -9;
  359.         data[326] := -9;
  360.         data[327] := 21;
  361.         data[328] := -15;
  362.         data[329] := -9;
  363.         data[330] := -16;
  364.         data[331] := -35;
  365.         data[332] := -10;
  366.         data[333] := -36;
  367.         data[334] := -35;
  368.         data[335] := -10;
  369.         data[336] := -40;
  370.         data[337] := 0;
  371.         data[338] := 13;
  372.         data[339] := -37;
  373.         data[340] := 0;
  374.         data[341] := 33;
  375.         data[342] := -60;
  376.         data[343] := 0;
  377.         data[344] := 33;
  378.         data[345] := -69;
  379.         data[346] := 0;
  380.         data[347] := 14;
  381.         data[348] := -60;
  382.         data[349] := 6;
  383.         data[350] := 11;
  384.         data[351] := -43;
  385.         data[352] := 6;
  386.         data[353] := 11;
  387.         data[354] := -48;
  388.         data[355] := 11;
  389.         data[356] := 5;
  390.         data[357] := -43;
  391.         data[358] := 11;
  392.         data[359] := 5;
  393.         data[360] := -48;
  394.         data[361] := -6;
  395.         data[362] := 11;
  396.         data[363] := -43;
  397.         data[364] := -6;
  398.         data[365] := 11;
  399.         data[366] := -48;
  400.         data[367] := -11;
  401.         data[368] := 5;
  402.         data[369] := -43;
  403.         data[370] := -11;
  404.         data[371] := 5;
  405.         data[372] := -48;
  406.         data[373] := -1;
  407.         data[374] := 2;
  408.         data[375] := 3;
  409.         data[376] := 4;
  410.         data[377] := 5;
  411.         data[378] := 6;
  412.         data[379] := 7;
  413.         data[380] := 8;
  414.         data[381] := 1;
  415.         data[382] := -9;
  416.         data[383] := 10;
  417.         data[384] := 11;
  418.         data[385] := 12;
  419.         data[386] := 13;
  420.         data[387] := 14;
  421.         data[388] := 15;
  422.         data[389] := 16;
  423.         data[390] := 9;
  424.         data[391] := -17;
  425.         data[392] := 18;
  426.         data[393] := 19;
  427.         data[394] := 20;
  428.         data[395] := 21;
  429.         data[396] := 22;
  430.         data[397] := 23;
  431.         data[398] := 24;
  432.         data[399] := 17;
  433.         data[400] := -25;
  434.         data[401] := 26;
  435.         data[402] := 27;
  436.         data[403] := 28;
  437.         data[404] := 29;
  438.         data[405] := 30;
  439.         data[406] := 31;
  440.         data[407] := 32;
  441.         data[408] := 25;
  442.         data[409] := -33;
  443.         data[410] := 34;
  444.         data[411] := 35;
  445.         data[412] := 36;
  446.         data[413] := 37;
  447.         data[414] := 38;
  448.         data[415] := 39;
  449.         data[416] := 40;
  450.         data[417] := 33;
  451.         data[418] := -41;
  452.         data[419] := 42;
  453.         data[420] := 43;
  454.         data[421] := 44;
  455.         data[422] := 45;
  456.         data[423] := 46;
  457.         data[424] := 47;
  458.         data[425] := 48;
  459.         data[426] := 41;
  460.         data[427] := -49;
  461.         data[428] := 50;
  462.         data[429] := 51;
  463.         data[430] := 52;
  464.         data[431] := 53;
  465.         data[432] := 54;
  466.         data[433] := 55;
  467.         data[434] := 56;
  468.         data[435] := 49;
  469.         data[436] := -57;
  470.         data[437] := 58;
  471.         data[438] := 59;
  472.         data[439] := 60;
  473.         data[440] := 61;
  474.         data[441] := 62;
  475.         data[442] := 63;
  476.         data[443] := 64;
  477.         data[444] := 57;
  478.         data[445] := -65;
  479.         data[446] := 66;
  480.         data[447] := 67;
  481.         data[448] := 68;
  482.         data[449] := 69;
  483.         data[450] := 70;
  484.         data[451] := 71;
  485.         data[452] := 72;
  486.         data[453] := 65;
  487.         data[454] := -73;
  488.         data[455] := 74;
  489.         data[456] := 75;
  490.         data[457] := 76;
  491.         data[458] := 77;
  492.         data[459] := 78;
  493.         data[460] := 79;
  494.         data[461] := 80;
  495.         data[462] := 73;
  496.         data[463] := -81;
  497.         data[464] := 82;
  498.         data[465] := 83;
  499.         data[466] := 84;
  500.         data[467] := 85;
  501.         data[468] := 86;
  502.         data[469] := 87;
  503.         data[470] := 88;
  504.         data[471] := 81;
  505.         data[472] := -89;
  506.         data[473] := 90;
  507.         data[474] := 91;
  508.         data[475] := 92;
  509.         data[476] := 93;
  510.         data[477] := 94;
  511.         data[478] := 95;
  512.         data[479] := 96;
  513.         data[480] := 89;
  514.         data[481] := -97;
  515.         data[482] := 98;
  516.         data[483] := 99;
  517.         data[484] := 100;
  518.         data[485] := 101;
  519.         data[486] := 102;
  520.         data[487] := 103;
  521.         data[488] := 104;
  522.         data[489] := 97;
  523.         data[490] := -1;
  524.         data[491] := 9;
  525.         data[492] := 17;
  526.         data[493] := 25;
  527.         data[494] := 33;
  528.         data[495] := 41;
  529.         data[496] := 49;
  530.         data[497] := 57;
  531.         data[498] := 65;
  532.         data[499] := 73;
  533.         data[500] := 81;
  534.         data[501] := 89;
  535.         data[502] := 97;
  536.         data[503] := -2;
  537.         data[504] := 10;
  538.         data[505] := 18;
  539.         data[506] := 26;
  540.         data[507] := 34;
  541.         data[508] := 42;
  542.         data[509] := 50;
  543.         data[510] := 58;
  544.         data[511] := 66;
  545.         data[512] := 74;
  546.         data[513] := 82;
  547.         data[514] := 90;
  548.         data[515] := 98;
  549.         data[516] := -3;
  550.         data[517] := 11;
  551.         data[518] := 19;
  552.         data[519] := 27;
  553.         data[520] := 35;
  554.         data[521] := 43;
  555.         data[522] := 51;
  556.         data[523] := 59;
  557.         data[524] := 67;
  558.         data[525] := 75;
  559.         data[526] := 83;
  560.         data[527] := 91;
  561.         data[528] := 99;
  562.         data[529] := -4;
  563.         data[530] := 12;
  564.         data[531] := 20;
  565.         data[532] := 28;
  566.         data[533] := 36;
  567.         data[534] := 44;
  568.         data[535] := 52;
  569.         data[536] := 60;
  570.         data[537] := 68;
  571.         data[538] := 76;
  572.         data[539] := 84;
  573.         data[540] := 92;
  574.         data[541] := 100;
  575.         data[542] := -5;
  576.         data[543] := 13;
  577.         data[544] := 21;
  578.         data[545] := 29;
  579.         data[546] := 37;
  580.         data[547] := 45;
  581.         data[548] := 53;
  582.         data[549] := 61;
  583.         data[550] := 69;
  584.         data[551] := 77;
  585.         data[552] := 85;
  586.         data[553] := 93;
  587.         data[554] := 101;
  588.         data[555] := -6;
  589.         data[556] := 14;
  590.         data[557] := 22;
  591.         data[558] := 30;
  592.         data[559] := 38;
  593.         data[560] := 46;
  594.         data[561] := 54;
  595.         data[562] := 62;
  596.         data[563] := 70;
  597.         data[564] := 78;
  598.         data[565] := 86;
  599.         data[566] := 94;
  600.         data[567] := 102;
  601.         data[568] := -7;
  602.         data[569] := 15;
  603.         data[570] := 23;
  604.         data[571] := 31;
  605.         data[572] := 39;
  606.         data[573] := 47;
  607.         data[574] := 55;
  608.         data[575] := 63;
  609.         data[576] := 71;
  610.         data[577] := 79;
  611.         data[578] := 87;
  612.         data[579] := 95;
  613.         data[580] := 103;
  614.         data[581] := -8;
  615.         data[582] := 16;
  616.         data[583] := 24;
  617.         data[584] := 32;
  618.         data[585] := 40;
  619.         data[586] := 48;
  620.         data[587] := 56;
  621.         data[588] := 64;
  622.         data[589] := 72;
  623.         data[590] := 80;
  624.         data[591] := 88;
  625.         data[592] := 96;
  626.         data[593] := 104;
  627.         data[594] := -44;
  628.         data[595] := 105;
  629.         data[596] := 106;
  630.         data[597] := 107;
  631.         data[598] := 108;
  632.         data[599] := 92;
  633.         data[600] := -46;
  634.         data[601] := 109;
  635.         data[602] := 110;
  636.         data[603] := 111;
  637.         data[604] := 112;
  638.         data[605] := 94;
  639.         data[606] := -81;
  640.         data[607] := 113;
  641.         data[608] := 114;
  642.         data[609] := 115;
  643.         data[610] := 116;
  644.         data[611] := 89;
  645.         data[612] := -82;
  646.         data[613] := 117;
  647.         data[614] := 118;
  648.         data[615] := -83;
  649.         data[616] := 119;
  650.         data[617] := 120;
  651.         data[618] := -87;
  652.         data[619] := 121;
  653.         data[620] := 122;
  654.         data[621] := -88;
  655.         data[622] := 123;
  656.         data[623] := 124;
  657.         data[624] := -117;
  658.         data[625] := 119;
  659.         data[626] := -121;
  660.         data[627] := 123;
  661.         data[628] := -118;
  662.         data[629] := 120;
  663.         data[630] := -122;
  664.         data[631] := 124;
  665.     end;
  666.  
  667.     procedure muck1;
  668.     begin
  669.         CH := COS(H);
  670.         SH := SIN(H);
  671.         CP := COS(P);
  672.         SP := SIN(P);
  673.         CB := COS(B);
  674.         SB := SIN(B);
  675.         AM := CB * CH - SH * SP * SB;
  676.         BM := -CB * SH - SP * CH * SB;
  677.         CM := CP * SB;
  678.         DM := SH * CP;
  679.         EM := CP * CH;
  680.         FM := SP;
  681.         GM := -CH * SB - SH * SP * CB;
  682.         HM := SH * SB - SP * CH * CB;
  683.         IM := CP * CB;
  684.     end;
  685.  
  686.     procedure muck2;
  687.     begin
  688.         X := X - XV;
  689.         Y := Y - YV;
  690.         Z := Z - ZV;
  691.         X3 := AM * X + BM * Y + CM * Z;
  692.         Y3 := DM * X + EM * Y + FM * Z;
  693.         Z3 := GM * X + HM * Y + IM * Z;
  694.         U := 135 + 13.5 * D * X3 / Y3;
  695.         Vc := 80 - 11.5 * D * Z3 / Y3;
  696.     end;
  697.  
  698.     procedure muck3;
  699.         var
  700.             Ec: integer;
  701.     begin
  702.         X := 0;
  703.         Y := 0;
  704.         Z := 0;
  705.         X3 := 0;
  706.         Y3 := 0;
  707.         Z3 := 0;
  708.         AM := 0;
  709.         BM := 0;
  710.         CM := 0;
  711.         DM := 0;
  712.         EM := 0;
  713.         FM := 0;
  714.         GM := 0;
  715.         HM := 0;
  716.         IM := 0;
  717.         D := 0;
  718.         P := 0;
  719.         B := 0;
  720.         H := 0;
  721.         U := 0;
  722.         Vc := 0;
  723.         U1 := 0;
  724.         V1 := 0;
  725.         D := 120;
  726.         P := 6.28 * oxangle / 255 - 3.1416;
  727.         B := 6.28 * ozangle / 255;
  728.         H := 6.28 * oyangle / 255;
  729.         muck1;
  730.         XV := -D * CP * SH;
  731.         YV := -D * CP * CH;
  732.         ZV := -D * SP;
  733.         for Ec := 1 to maxe do
  734.             begin
  735.                 X := V[ABS(round(E[Ec])), 1];
  736.                 Y := V[ABS(round(E[Ec])), 2];
  737.                 Z := V[ABS(round(E[Ec])), 3];
  738.                 muck2;
  739.                 if E[Ec] > 0 then
  740.                     begin
  741.                         moveto(round(U1 * 2 + 75), round(V1 + 20));
  742.                         lineto(round(U * 2 + 75), round(Vc + 20));
  743.                     end;
  744.                 U1 := U;
  745.                 V1 := Vc;
  746.             end;
  747.     end;
  748.  
  749.     procedure winit (var w: windowptr);
  750.     begin
  751.         w := getnewwindow(r1, nil, windowptr(-1));
  752.         showwindow(w);
  753.         setport(w);
  754.         moveto(50, 240);
  755.         textsize(18);
  756.         textface([Shadow]);
  757.         drawstring('Eddy'' s Shuttle Viewer ');
  758.         moveto(50, 260);
  759.         textsize(12);
  760.         textface([bold]);
  761.         drawstring('Click and hold button down to STOP');
  762.         moveto(50, 280);
  763.         textsize(10);
  764.         textface([italic]);
  765.         drawstring('ThinkPas Code by Eddy Vasile. Plot Points from anonymous source');
  766.         moveto(200, 170);
  767.         textsize(10);
  768.         drawstring('Wait for a couple of views before clicking');
  769.         delay(100, ticks);
  770.     end;
  771.  
  772.     procedure initvars;
  773.         var
  774.             position, j, ec, pc: integer;
  775.     begin
  776.         position := 0;
  777.         for Pc := 1 to maxv do
  778.             begin
  779.                 for j := 1 to 3 do
  780.                     begin
  781.                         position := position + 1;
  782.                         v[pc, j] := data[position] * 0.12;
  783.                     end;
  784.             end;
  785.         for Ec := 1 to maxe do
  786.             begin
  787.                 position := position + 1;
  788.                 e[ec] := data[position];
  789.             end;
  790.     end;
  791.     procedure mainloop;
  792.     begin
  793.         while (not button) do
  794.             begin
  795.                 fillrect(0, 180, 200, 500, white);
  796.                 muck3;
  797.                 delay(60, ticks);
  798.                 oxangle := oxangle + 10;
  799.                 oyangle := oyangle + 10;
  800.                 ozangle := ozangle + 10;
  801.             end;
  802.     end;
  803.  
  804.  
  805. begin
  806.     setdataarray;
  807.     initvars;
  808.     winit(w);
  809.     mainloop;
  810. end.